Dynamic Programming as a Software Component
نویسنده
چکیده
Dynamic programming is usually regarded as a design technique, where each application is designed as an individual program. This contrasts with other techniques such as linear programming, where there exists a single generic program that solves all instances. From a software engineering perspective, the lack of a generic solution to dynamic programming is somewhat unsatisfactory. It would be much preferable if dynamic programming could be understood as a software component, where the ideas common to all its applications are explicit in shared code. In this paper, we argue that such a component does indeed exist, at least for a large class of applications in which the decision process is a sequential scan of the input sequence. We also assess the suitability of C++ for expressing this type of generic program, and argue that the simplicity offered by lazy functional programming is preferable. In particular, functional programs can be manipulated as algebraic expressions. The paper does not present any novel results: it is an introduction to recent work on the formalisation of algorithmic paradigms in software engineering. Key-Words: Dynamic programming; sequential decision process; software component; functional programming; algebra of programming; program derivation.
منابع مشابه
Improving the Energy Management of Parallel Hybrid Electric Vehicle by Dynamic Programming Using Electro-Thermal Model of Battery
In this paper, an offline energy management system (EMS) is proposed for parallel hybrid electric vehicles (HEVs). The proper energy management system is necessary for dividing torque between electrical motor and Internal Combustion Engine (ICE). The battery is a crucial component of hybrid electric vehicles and affects significantly the cost and the performance of the whole vehicle. The primar...
متن کاملA genetic algorithm for a bi-objective mathematical model for dynamic virtual cell formation problem
Nowadays, with the increasing pressure of the competitive business environment and demand for diverse products, manufacturers are force to seek for solutions that reduce production costs and rise product quality. Cellular manufacturing system (CMS), as a means to this end, has been a point of attraction to both researchers and practitioners. Limitations of cell formation problem (CFP), as one o...
متن کاملOPTIMIZATION OF A PRODUCTION LOT SIZING PROBLEM WITH QUANTITY DISCOUNT
Dynamic lot sizing problem is one of the significant problem in industrial units and it has been considered by many researchers. Considering the quantity discount in purchasing cost is one of the important and practical assumptions in the field of inventory control models and it has been less focused in terms of stochastic version of dynamic lot sizing problem. In this paper, stochastic dyn...
متن کاملModelface: an application programming interface (API) for homology modeling studies using Modeller software
An interactive application, Modelface, was presented for Modeller software based on windows platform. The application is able to run all steps of homology modeling including pdb to fasta generation, running clustal, model building and loop refinement. Other modules of modeler including energy calculation, energy minimization and the ability to make single point mutations in the PDB structures a...
متن کاملA dynamic bi-objective model for after disaster blood supply chain network design; a robust possibilistic programming approach
Health service management plays a crucial role in human life. Blood related operations are considered as one of the important components of the health services. This paper presents a bi-objective mixed integer linear programming model for dynamic location-allocation of blood facilities that integrates strategic and tactical decisions. Due to the epistemic uncertain nature of ...
متن کامل